package com.hzncc.flowable_diboot.entity;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.diboot.core.binding.query.BindQuery;
import com.diboot.core.binding.query.Comparison;
import com.diboot.core.entity.BaseModel;
import com.fasterxml.jackson.annotation.JsonAlias;
import lombok.Getter;
import lombok.Setter;
import lombok.experimental.Accessors;
import org.hibernate.validator.constraints.Length;

import jakarta.validation.constraints.NotNull;

/**
* 销售组织目录 Entity 定义
* @author MyName
* @version 1.0
* @date 2024-06-05
* Copyright © MyCorp
*/

@TableName("mdl_sales_group_content")
@Getter @Setter @Accessors(chain = true)
public class SalesGroupContent extends BaseModel {
    private static final long serialVersionUID = 1532169258646967763L;

    /**
     * 租户
     */
    @NotNull(message = "租户不能为空")
    @TableField()
    private String tenantId;

    /**
     * 销售组织目录
     */
    @Length(max=100, message="销售组织目录长度应小于100")
    @BindQuery(comparison = Comparison.LIKE)
    @TableField()
    private String content;

    /**
     * 公司代码
     */
    @TableField()
    @JsonAlias("bukrs")
    private String companyCode;

    /**
     * 销售组织
     */
    @TableField()
    @JsonAlias("vkorg")
    private String salesGroup;

    /**
     * 分销渠道
     */
    @TableField()
    @JsonAlias("vtweg")
    private String distributeChannel;

    /**
     * 产品组
     */
    @TableField()
    @JsonAlias("spart")
    private String productionGroup;

    /**
     * 销售办公室
     */
    @Length(max=100, message="销售办公室长度应小于100")
    @BindQuery(comparison = Comparison.LIKE)
    @TableField()
    private String salesOffice;

    /**
     * sap客户id
     */
    @TableField()
    private String sapCustomerId;

    /**
     * 销售部门
     */
    @Length(max=100, message="销售部门长度应小于100")
    @BindQuery(comparison = Comparison.LIKE)
    @TableField()
    @JsonAlias("vkbur")
    private String salesDept;

    /**
     * 账户分配
     */
    @Length(max=100, message="账户分配长度应小于100")
    @BindQuery(comparison = Comparison.LIKE)
    @TableField()
    @JsonAlias("ktgrd")
    private String dis;

    /**
     * 是否冻结
     */
    @Length(max=2, message="是否冻结长度应小于2")
    @BindQuery(comparison = Comparison.LIKE)
    @TableField()
    @JsonAlias("loevm")
    private String isFreeze;

    /**
     * 客户税分类
     */
    @Length(max=100, message="客户税分类长度应小于100")
    @BindQuery(comparison = Comparison.LIKE)
    @TableField()
    @JsonAlias("taxkd")
    private String cate;

    /**
     * 销售员
     */
    @TableField()
    private String salesman;

    /**
     * 销售地区
     */
    @Length(max=100, message="销售地区长度应小于100")
    @BindQuery(comparison = Comparison.LIKE)
    @TableField()
    @JsonAlias("bzirk")
    private String salesArea;

    /**
     * crm客户id
     */
    @TableField()
    private String crmCustomerId;

    /**
     * sap客户编码
     */
    @TableField()
    @JsonAlias("kunnr")
    private String sapNo;

}